/*=============================================================================

  IO CONFIGURATION DEFINITION

  FILE: HAIO_CFG.h
  
  DESCRIPTION

    IO configuration
    
  EXTERNALIZED FUNCTIONS


   Copyright (c) DaeSung Engineering Inc. All rights reserved.

=============================================================================*/
/*=============================================================================

  EDIT HISTORY

  ---------  -------  -------------------------------------------------------
    when       who       what, where, why
  ---------  -------  -------------------------------------------------------
   07/15/04   nso4th    Initial version

=============================================================================*/


#ifndef _HAIO_CFG_H_
#define _HAIO_CFG_H_
/*=============================================================================
  HEADER INCLUSION
=============================================================================*/
#include <Cust_AppDef.h>

/*=============================================================================
  CONSTANT DEFINITION
=============================================================================*/
#define AIODEV_CHAN_NAME_LEN		(32+1)
#define AIODEV_FILE_EXT			("iom")

/*=============================================================================
  STRUCTURE DEFINITION
=============================================================================*/
#pragma pack(1)
typedef struct
{
	dword		dev_name;
	char			dev_str[64];
	dword		subID;
	int32		numIn;
	int32		numOut;
	char			pszName[128][AIODEV_CHAN_NAME_LEN];
} aiodev_setup_s;

typedef struct
{
	int32				dev_num;
	aiodev_setup_s		*tbl;
} aiodev_cfg_s, *aiodev_cfg_ptr;
#pragma pack()

/*=============================================================================
  EXTERNALIZED FUNCION DEFINITION
=============================================================================*/
#if defined(__cplusplus)
extern "C"
{
#endif

aiodev_cfg_s *aiodev_default_alloc(void);
void aiodev_default_free(aiodev_cfg_s *cfg);

aiodev_cfg_ptr aiodev_cfg_alloc(void);
void aiodev_cfg_free(aiodev_cfg_s *cfg);

aiodev_cfg_ptr aiodev_cfg_load(char *pszname);
boolean aiodev_cfg_save(aiodev_cfg_s *cfg, char *pszname);

#if defined(__cplusplus)
}
#endif

#endif /* _HAIO_CFG_H_ */


/*=============================================================================
  EXTERNALIZED FUNCTION DESCRPTIONS
=============================================================================*/
/*--- END OF HAIO_cfg.h ---*/

